Цифровой скиталец

Мы живём, пока мы летаем

Текущая ситуация со сжатием видео, часть 1

Я сначала хотел использовать в блоге для видео Silverlight, но он мало у кого установлен. Я ещё не страдаю  ЧСВ такой степени, чтобы думать, что люди ради моих древних дурацких клипов будут ставить что-то непонятное на свой комп. Поэтому я стал смотреть, что творится в стане врага, а именно Adobe flash video. Заодно поизучал, что вообще происходит в стане цифрового кодирования мультимедия-информации.

Ликбез и глоссарий

Кодек – программа, использующая определённые алгоритмы кодирования и декодирования для сжатия  видео. Кодек – реализация стандарта, то есть документа, где определяется, каким будет результат, и как его надо воспроизводить. Таким образом достигается совместимость: то, что сжато DivX, может проиграть XviD, и наоборот. Кодек состоит из кодеровщика и декодировщика, отсюда и название.

Контейнер – формат файла, в котором хранится сжатое видео.

Классический древний контейнер – AVI, Майкрософт любит свой ASF (расширение ASF или WMV), флеш – FLV, на DVD – IFO/VOB, новый контейнер для любимого всеми H.264 – MP4, Quick Time использует свой (с расширением MOV), фанаты аниме используют матрёшку (.MKV), ну а вообще в Википедии всё есть

Большинство контейнеров позволяют запихать в себя видео, сжатое разными кодеками. Расширение файла тоже может быть разным, это не принципиально.

DirectX фильтр – специальный формат программы для кодеков, позволяющий другим программам (обычно плеерам) их использовать. Например, чтобы проигрывать видео в формате MPEG4 , сделанное кодеком DivX, с помощью плеера ZoomPlayer, вы можете установить фильтр XviD, который включает в себя реализацию кодека MPEG4. Или установить родной фильтр кодека DivX.

История и теория

На DVD и в спутниковых трансляциях, если помните, используется древний кодек MPEG-2. Консорциум MPEG работу не прекратил, и породил законного наследника MPEG-4 часть 2 (обычно говорят просто MPEG-4), который распространился в виде своего незаконорожденного брата DivX, да полузаконного бастарда XviD. Впрочем, до них нам теперь дела мало, потому что сравнительно давно появилась вершина прогресса – жадный до процессора H.264, он же MPEG-4 часть 10. Он ныне везде: во телефонах, игровых приставках, а так же частенько поддерживается специальными аппаратными ускорителями и даже видеокартами вроде ATI HD2600. H.264, понятное дело, сжимает лучше всех при том же качестве, ну или качество выше при том же размере.

Параллельно подсуетилась Майкрософт, и создала нечто похожее – развитие дела Windows Media (обычно в контейнере .wmv) под названием VC-1. Отличия от H.264 – вроде бы меньшие требования к процессору при декодировании, возможно – иногда чуть лучшее качество.

Оба этих кодека используются активно не только на трекерах видеопиратами, как вы подумали, но и на дисках высокого разрешения Blu-ray и HD-DVD (Последний уже скончался).

Но вот что печально – до некоторых пор в интернете, то есть там, где высокая степень сжатия была бы более всего востребована, царила всякая мутная древность. А всё потому, что основной способ доставки видео в вебе – флеш, а он поддерживал лишь довольно вялые коммерческие кодеки, чьи названия в веках не останутся.

Вдобавок к этому, Адобе использовала для флеш видео и собственный контейнер flv, что вебмастерам счастья тоже не добавляло – приходилось видео не только перекодировать, но и перепаковывать.

К счастью, Майкрософт подсуетилась, и выпустила Silverlight. Он воообще много чем хорош, но в данном случае нас интересует то, что он поддерживает отличный кодек VC-1. Впрочем, хрень редьки не слаще – формат закрытый, собственный, да ещё и в контейнере ASF. А главное – мало у кого стоял на компе Silverlight, так что для вебмастеров, жаждущих качества, это тоже не выход.

Вторая часть, практическая.